package com.woniuxy.carrental.service.impl;

import com.woniuxy.carrental.entity.PageBean;
import com.woniuxy.carrental.entity.ResponseResult;
import com.woniuxy.carrental.entity.Store;
import com.woniuxy.carrental.mapper.StoreMapper;
import com.woniuxy.carrental.service.StoreService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author author
 * @create 2021-09-28 15:02
 */
//肖某 仓库service实体类
    @Service
public class StoreServiceImpl implements StoreService{
    @Resource
    StoreMapper storeMapper;

    //向仓库表中添加数据
    @Override
    public void addStore(Store store) {
        storeMapper.insertStore(store);
    }

    //修改表中数据根据store id
    @Override
    public void updataStoreService(Store store) {
        storeMapper.updataStore(store);
    }

    //根据id删除表中数据
    @Override
    public void deleteStoreService(int storeid) {
    storeMapper.deleteStore(storeid);
    }

    //查询表中所有数据
    @Override
    public List<Store> selectAllStoreService() {
        List<Store> stores = storeMapper.selectStore();
        return stores;
    }

    @Override
    public Store findStoreBySname(String sname) {
        return storeMapper.selectStoreBySname(sname);
    }


    //根据sname模糊查询
    @Override
    public List<Store> selectAllByLikeSname(String sname) {
        List<Store> storesbylikename = storeMapper.selectStoreByLike(sname);
        return storesbylikename;
    }

    //分页查询表中数据
    @Override
    public ResponseResult<PageBean<Store>> selectStoresByPageService(Store store, int pageIndex, int pageSize){

        PageBean<Store> pageBean = new PageBean<>();
        List<Store> stores = storeMapper.selectStoresByPage(store, pageIndex, pageSize);
        //得到表中数据的总条数
        int i = storeMapper.selectCountStore();
        pageBean.setBeanList(stores);
        pageBean.setPageIndex(pageIndex);
        pageBean.setPageSize(pageSize);
        pageBean.setTotalRecord(i);
        return new ResponseResult<PageBean<Store>>(pageBean,200,"nice");
    }

}
